package com.scalar.chiptrack.operations.process;

import java.util.Vector;

public class ParameterTypes
{
	public static final String lotHoldYeildLimit = "Lot Hold Yield Limit" ;
	public static final String lotHoldYeildLimitUnit = "%" ;
	public static final String lotHoldYeildLimitVal = "0.0" ;
	
	public static final String grossDieWafer = "Gross Die/Wafer" ;
	public static final String grossDieWaferUnit = "%" ;
	public static final String grossDieWaferVal = "" ;
	
	public static final String standardUnitCost = "Standard Unit Cost" ;
	public static final String standardUnitCostUnit = "$" ;
	public static final String standardUnitCostVal = "0.0" ;
	
	public static final String lotScarpyeildLimit = "Lot Scrap Yield Limit" ;
	public static final String lotScarpyeildLimitUnit = "%" ;
	public static final String lotScarpyeildLimitVal = "0.0" ;
	
	public static final String targetYeild = "Target Yield" ;
	public static final String targetYeildUnit = "%" ;
	public static final String targetYeildVal = "0.0" ;
	
	public static final String minLevel = "Min Level" ;
	public static final String minLevelUnit = "units" ;
	public static final String minLevelVal = "" ;
	
	public static final String maxLevel = "Max Level" ;
	public static final String maxLevelUnit = "units" ;
	public static final String maxLevelVal = "" ;
	
	public static final String maxTime = "Max Time" ;
	public static final String maxTimeUnit = "Days" ;
	public static final String maxTimeVal = "" ;
	
	public static final String expectedNetDieWafer = "Expected Net Die/Wafer" ;
	public static final String expectedNetDieWaferUnit = "%" ;
	public static final String expectedNetDieWaferVal = "0.0" ;
	
	public static final String probeCardNo = "Probe Card No" ;
	public static final String probeCardNoUnit = "" ;
	public static final String probeCardNoVal = "" ;
	
	public static final String system = "System" ;
	public static final String systemUnit = "" ;
	public static final String systemVal = "" ;
	
	public static final String rmaCriteria = "RMA Criteria" ;
	public static final String rmaCriteriaUnit = "" ;
	public static final String rmaCriteriaVal = "" ;
	
	public static final String scrapCriteria = "Scrap Criteria" ;
	public static final String scrapCriteriaUnit = "" ;
	public static final String scrapCriteriaVal = "" ;
	
	public static final String packageID = "Package ID" ;
	public static final String packageIDUnit = "ID" ;
	public static final String packageIDVal = "" ;
	
	public static final String targetYield = "Target Yield" ;
	public static final String targetYieldUnit = "%" ;
	public static final String targetYieldVal = "0.0" ;
	
	public static final String testJig = "Test Jig" ;
	public static final String testJigUnit = "" ;
	public static final String testJigVal = "" ;
	
	public static final String visualSystem = "Visual System" ;
	public static final String visualSystemUnit = "" ;
	public static final String visualSystemVal = "" ;
	
	public static final String packingMethod = "Packing Method" ;
	public static final String packingMethodUnit = "" ;
	public static final String packingMethodVal = "" ;
	
	public static final String reorderLevel = "Reorder Level" ;
	public static final String reorderLevelUnit = "units" ;
	public static final String reorderLevelVal = "" ;
	
	public static final String dieSize = "Die Size" ;
	public static final String dieSizeUnit = "units" ;
	public static final String dieSizeVal = "0" ;

	
	public static Vector getDefaultParameters(String str)
	{
		Vector defaultParameters = new Vector();
		
		if( str.equals( ProcessTypes.fab ) )
		{
			defaultParameters.add( getLotHoldYeildLimit() );
			defaultParameters.add( getGrossDieWafer() );
			defaultParameters.add( getStandardUnitCost() );
			defaultParameters.add( getLotScarpyeildLimit() );
			defaultParameters.add( getTargetYeild() );
			defaultParameters.add( getDieSize() );
		}
		else if(str.equals( ProcessTypes.waferStore ) )
		{
			defaultParameters.add( getMinLevel() );
			defaultParameters.add( getMaxLevel() );
			defaultParameters.add( getMaxTime() );
		}
		else if(str.equals(ProcessTypes.sort) )
		{
			defaultParameters.add( getExpectedNetDieWafer() );
			defaultParameters.add( getLotHoldYeildLimit() );
			defaultParameters.add( getLotScarpyeildLimit() );
			defaultParameters.add( getStandardUnitCost() );
			defaultParameters.add( getProbeCardNo() );
			defaultParameters.add( getSystem() );
			defaultParameters.add( getRmaCriteria() );
			defaultParameters.add( getScrapCriteria() );
		}
		else if(str.equals(ProcessTypes.diebank) )
		{
			defaultParameters.add( getMinLevel() );
			defaultParameters.add( getMaxLevel() );
			defaultParameters.add( getMaxTime() );
		}
		else if(str.equals(ProcessTypes.assembly) )
		{
			defaultParameters.add( getPackageID() );
			defaultParameters.add( getStandardUnitCost() );
			defaultParameters.add( getTargetYeild() );
			defaultParameters.add( getLotScarpyeildLimit() );
		}
		else if(str.equals(ProcessTypes.test) )
		{
			defaultParameters.add( getTargetYeild() );
			defaultParameters.add( getLotHoldYeildLimit() );
			defaultParameters.add( getLotScarpyeildLimit() );
			defaultParameters.add( getStandardUnitCost() );
			defaultParameters.add( getTestJig() );
			defaultParameters.add( getSystem() );
		}
		else if(str.equals(ProcessTypes.classStore) )
		{
			defaultParameters.add( getMinLevel() );
			defaultParameters.add( getMaxLevel() );
			defaultParameters.add( getMaxTime() );
		}
		else if(str.equals(ProcessTypes.markAndPack) )
		{
			defaultParameters.add( getTargetYeild() );
			defaultParameters.add( getStandardUnitCost() );
			defaultParameters.add( getLotScarpyeildLimit() );
			defaultParameters.add( getVisualSystem() );
			defaultParameters.add( getPackingMethod() );
		}
		else if(str.equals(ProcessTypes.finishedGoods) )
		{
			defaultParameters.add( getReorderLevel() );
			defaultParameters.add( getMinLevel() );
			defaultParameters.add( getMaxLevel() );
		}

		return defaultParameters;
	}
	
	public static Vector getLotHoldYeildLimit()
	{  
		Vector tempVector = new Vector();
		tempVector.add( lotHoldYeildLimit );
		tempVector.add( lotHoldYeildLimitUnit );
		tempVector.add( lotHoldYeildLimitVal );
		return tempVector;
	}
	
	public static Vector getGrossDieWafer()
	{  
		Vector tempVector = new Vector();
		tempVector.add( grossDieWafer );
		tempVector.add( grossDieWaferUnit );
		tempVector.add( grossDieWaferVal );
		return tempVector;
	}
	
	public static Vector getStandardUnitCost()
	{  
		Vector tempVector = new Vector();
		tempVector.add( standardUnitCost );
		tempVector.add( standardUnitCostUnit );
		tempVector.add( standardUnitCostVal );
		return tempVector;
	}
	
	public static Vector getLotScarpyeildLimit()
	{  
		Vector tempVector = new Vector();
		tempVector.add( lotScarpyeildLimit );
		tempVector.add( lotScarpyeildLimitUnit );
		tempVector.add( lotScarpyeildLimitVal );
		return tempVector;
	}
	
	public static Vector getTargetYeild()
	{  
		Vector tempVector = new Vector();
		tempVector.add( targetYeild );
		tempVector.add( targetYeildUnit );
		tempVector.add( targetYeildVal );
		return tempVector;
	}
	
	public static Vector getMinLevel()
	{  
		Vector tempVector = new Vector();
		tempVector.add( minLevel );
		tempVector.add( minLevelUnit );
		tempVector.add( minLevelVal );
		return tempVector;
	}
		
	public static Vector getMaxLevel()
	{  
		Vector tempVector = new Vector();
		tempVector.add( maxLevel );
		tempVector.add( maxLevelUnit );
		tempVector.add( maxLevelVal );
		return tempVector;
	}
		
	public static Vector getMaxTime()
	{  
		Vector tempVector = new Vector();
		tempVector.add( maxTime );
		tempVector.add( maxTimeUnit );
		tempVector.add( maxTimeVal );
		return tempVector;
	}
		
	public static Vector getExpectedNetDieWafer()
	{  
		Vector tempVector = new Vector();
		tempVector.add( expectedNetDieWafer );
		tempVector.add( expectedNetDieWaferUnit );
		tempVector.add( expectedNetDieWaferVal );
		return tempVector;
	}
		
	public static Vector getProbeCardNo()
	{  
		Vector tempVector = new Vector();
		tempVector.add( probeCardNo );
		tempVector.add( probeCardNoUnit );
		tempVector.add( probeCardNoVal );
		return tempVector;
	}
		
	public static Vector getSystem()
	{  
		Vector tempVector = new Vector();
		tempVector.add( system );
		tempVector.add( systemUnit );
		tempVector.add( systemVal );
		return tempVector;
	}
		
	public static Vector getRmaCriteria()
	{  
		Vector tempVector = new Vector();
		tempVector.add( rmaCriteria );
		tempVector.add( rmaCriteriaUnit );
		tempVector.add( rmaCriteriaVal );
		return tempVector;
	}
		
	public static Vector getScrapCriteria()
	{  
		Vector tempVector = new Vector();
		tempVector.add( scrapCriteria );
		tempVector.add( scrapCriteriaUnit );
		tempVector.add( scrapCriteriaVal );
		return tempVector;
	}
		
	public static Vector getPackageID()
	{  
		Vector tempVector = new Vector();
		tempVector.add( packageID );
		tempVector.add( packageIDUnit );
		tempVector.add( packageIDVal );
		return tempVector;
	}
		
	public static Vector getTargetYield()
	{  
		Vector tempVector = new Vector();
		tempVector.add( targetYield );
		tempVector.add( targetYieldUnit );
		tempVector.add( targetYieldVal );
		return tempVector;
	}
	
	public static Vector getTestJig()
	{  
		Vector tempVector = new Vector();
		tempVector.add( testJig );
		tempVector.add( testJigUnit );
		tempVector.add( testJigVal );
		return tempVector;
	}
		
	public static Vector getVisualSystem()
	{  
		Vector tempVector = new Vector();
		tempVector.add( visualSystem );
		tempVector.add( visualSystemUnit );
		tempVector.add( visualSystemVal );
		return tempVector;
	}
		
	public static Vector getPackingMethod()
	{  
		Vector tempVector = new Vector();
		tempVector.add( packingMethod );
		tempVector.add( packingMethodUnit );
		tempVector.add( packingMethodVal );
		return tempVector;
	}
		
	public static Vector getReorderLevel()
	{  
		Vector tempVector = new Vector();
		tempVector.add( reorderLevel );
		tempVector.add( reorderLevelUnit );
		tempVector.add( reorderLevelVal );
		return tempVector;
	}
	
	public static Vector getDieSize()
	{
		Vector tempVector = new Vector();
		tempVector.add( dieSize );
		tempVector.add( dieSizeUnit );
		tempVector.add( dieSizeVal );
		return tempVector;
	}
}